xend: NetBSD portability fix for LVM raw volume names
authorRoger Pau Monne <roger.pau@entel.upc.edu>
Tue, 28 Jun 2011 12:56:53 +0000 (13:56 +0100)
committerRoger Pau Monne <roger.pau@entel.upc.edu>
Tue, 28 Jun 2011 12:56:53 +0000 (13:56 +0100)
Xen 4.1.1 was incorrectly passing /dev/rmapper/vg-lvname to pygrub
(notice the r in front of mapper), when it should pass
/dev/mapper/rvg-lvname (add the r to the last file) when using NetBSD.
I've patched it to work correctly. I'm attaching a unified diff with
the patch made against Xen 4.1.1 (it's a really simple modification).

From: Roger Pau Monne <roger.pau@entel.upc.edu>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
tools/python/xen/xend/XendBootloader.py

index 74c9a2ac196a8110a32d0331a91bb90dd9ac4822..f17428eaa4d226b2ed7f03553c6a73b209f12419 100644 (file)
@@ -44,7 +44,7 @@ def bootloader(blexec, disk, dom, quiet = False, blargs = '', kernel = '',
         raise VmError(msg)
 
     if os.uname()[0] == "NetBSD" and disk.startswith('/dev/'):
-       disk = disk.replace("/dev/", "/dev/r")
+       disk = "/r".join(disk.rsplit("/",1))
 
     mkdir.parents("/var/run/xend/boot/", stat.S_IRWXU)